package com.bcbim.operation_maintenance_interface.space_type.service;

import com.bcbim.operation_maintenance_interface.space_type.dao.SpaceTypeDAO;
import com.bcbim.operation_maintenance_interface.space_type.dto.SpaceTypeUnassignedDTO;
import com.bcbim.operation_maintenance_interface.space_type.vo.SpaceTypeVO;

import java.util.List;

/**
 * @version V 1.0.0
 * @Description：空间类型service
 * @Author: haomeijie
 * @Date: 2022/3/5 13:07
 **/
public interface SpaceTypeService {
    /**
     * 新增类型
     *
     * @param spaceTypeDAO
     * @return int
     * @Author: haomeijie
     * @Date: 2022/3/5 13:16
     */
    int insertSpaceType(SpaceTypeDAO spaceTypeDAO);

    /**
     * 编辑类型
     *
     * @param spaceTypeDAO
     * @return int
     * @Author: haomeijie
     * @Date: 2022/3/5 13:16
     */
    int updateSpaceType(SpaceTypeDAO spaceTypeDAO);

    /**
     * 空间类型查看详情
     *
     * @param id
     * @return spaceTypeVO
     * @Author: haomeijie
     * @Date: 2022/3/5 13:18
     */
    SpaceTypeVO getSpaceType(String id);

    /**
     * 查询类别下的类型
     *
     * @param id
     * @author xuehao
     * @createDate 2022/3/10 14:07
     * @retuen List<String>
     */
    List<String> getSpaceTypeId(String id);

    /**
     * 获取未指派id
     *
     * @param typeUnassignedDTO
     * @return String
     * @Author: haomeijie
     * @Date: 2022/4/6 17:26
     */
    String getUnassignedId(SpaceTypeUnassignedDTO typeUnassignedDTO);

    /**
     * 检查空间类型名称是否重复
     *
     * @return List<SpaceCategoryTreeVO>
     * @Author: haomeijie
     * @Date: 2022/5/17 17:13
     */
    int checkSpaceType(String spaceType, String spaceCategoryId, String id);
}
